package cn.ruc.dbiir.storm.generator.util;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;


/**
 * 提供时间，文件，转换等工具
* author：mark   
* createTime：May 11, 2018 3:57:28 PM   
* @version
 */
public class Utils {

	public static void main(String[] args) {
		System.out.println(getCurTimes());
	}
	
	/**
	 * 获取时间，格式如下“2018-05-11 16:01:01”
	 * author：mark   
	 * createTime：May 11, 2018 4:01:19 PM
	 * @return
	 */
	public static String getCurTime() {
		//获取时间
		DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    // 这里填写的是想要进行转换的时间格式
		Date date = new Date();      // 获取当前时间
		String str = format.format(date);
		return str;
	}
	
	public static String parseTime(Long ts) {
		//获取时间
		DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    // 这里填写的是想要进行转换的时间格式
		Date date = new Date(ts);      // 获取当前时间
		String str = format.format(date);
		return str;
	}
	
	/**
	 * 获取时间 格式如“20180511”
	 * author：mark   
	 * createTime：May 11, 2018 11:40:02 PM
	 * @return
	 */
	public static String getCurTime_ymd() {
		//获取时间
		DateFormat format = new SimpleDateFormat("yyyyMMdd");    // 这里填写的是想要进行转换的时间格式
		Date date = new Date();      // 获取当前时间
		String str = format.format(date);
		return str;
	}
	
	public static String getCurTimes() {
		//获取时间
		DateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");    // 这里填写的是想要进行转换的时间格式
		Date date = new Date();      // 获取当前时间
		String str = format.format(date);
		return str;
	}
	
	
	
	/**
	 * 给定一个界限，生成0到该界限之间的一个随机值
	 * author：mark   
	 * createTime：May 11, 2018 4:14:55 PM
	 * @param bound 上限
	 * @return
	 */
	public static int getRandomValue(int bound) {
		Random random = new Random();
		int value = random.nextInt(bound);
		return value;
		
	}
	
	/**
	 * 给定一个范围，生成该范围内的随机数
	 * author：mark   
	 * createTime：May 11, 2018 4:13:25 PM
	 * @param min 下限
	 * @param max 上限
	 * @return
	 */
	public static int getRandomValue(int min, int max) {
		Random random = new Random();
		int value = random.nextInt(max)%(max-min+1) + min;
		return value;
		
	}
	
}
